﻿using MediatR;
using S.Transfer.Domain;
using S.Transfer.Domain.Model;
using S.Transfer.Read.API.Extensions.Dto;

namespace S.Transfer.Read.API.Application.Command.UserCommand
{
    public class TransferShowlCommond : IRequest<Pager<SheepShowDto>>
    {
        /// <summary>
        /// 转舍日期
        /// </summary>
        public DateTime? SurrenderDate { get; set; }
        /// <summary>
        /// 电子耳标
        /// </summary>
        public string? EarTag { get; set; }
        /// <summary>
        /// 转舍类型
        /// </summary>
        public int? RoundType { get; set; }
        /// <summary>
        /// 转出栋舍
        /// </summary>
        public int? TurnOutBuild { get; set; }

        /// <summary>
        /// 转出栏位
        /// </summary>
        public int? TurnOutHuts { get; set; }
        /// <summary>
        /// 转入栋舍
        /// </summary>
        public int? ShiftToBuild { get; set; }
        /// <summary>
        /// 转入栏位
        /// </summary>
        public int? ShiftToHuts { get; set; }
        public int PageIndex { get; set; } // 默认第一页
        public int PageSize { get; set; } // 默认每页10条记录
    }
    /// <summary>
    /// 转舍显示部分字段、根据
    /// </summary>
    public class TransferCommond : IRequest<List<SheepFromDto>>
    {
        /// <summary>
        /// 电子耳标
        /// </summary>
        public string EarTag { get; set; }
    }
    /// <summary>
    /// 根据耳号显示最新消息
    /// </summary>
    public class TransFerByDateCommond : IRequest<SheepRescission>
    {
        /// <summary>
        /// 电子耳标
        /// </summary>
        public string EarTag { get; set; }
    }
    public class TransFerByIdCommand:IRequest<SheepShowDto>
    {
        /// <summary>
        /// 电子耳标
        /// </summary>
        public string? EarTag { get; set; }
    }
    public class TransFerByIdEarTag:IRequest<SheepRescission>
    {
        /// <summary>
        /// 电子耳标
        /// </summary>
        public string? EarTag { get; set; }
        /// <summary>
        /// 转舍日期
        /// </summary>
        public DateTime? SurrenderDate { get; set; }
    }
}
